package com.management.department.teacherinfosystem.Service;

import com.management.department.teacherinfosystem.DTO.StudentGuidanceStatsDTO;
import com.management.department.teacherinfosystem.DTO.StudentGuidanceSubmitDTO;
import com.management.department.teacherinfosystem.Entity.StudentGuidance;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

public interface StudentGuidanceService {
    Page<StudentGuidance> listMy(Long userId, Pageable pageable,
                                 String studentType, String achievementType, String level, String year, String status);

    Page<StudentGuidance> listAll(Pageable pageable,
                                  Long teacherId, String teacherName, String studentType,
                                  String achievementType, String level, String year, String status);

    StudentGuidance getById(Long id);

    Long create(Long userId, StudentGuidanceSubmitDTO dto);

    void update(Long id, Long userId, StudentGuidanceSubmitDTO dto);

    void delete(Long id, Long userId);

    void review(Long id, Long reviewerId, String status, String opinion);

    StudentGuidanceStatsDTO stats(Long teacherId, String studentType, String achievementType, String level, String year);
} 